package tvdi

class Aluno {

	String nome
    String email
    Date nascimento
    String endereco
    String estado
    String cidade
    String cep
	String telefone
	String celular
    Modulo modulo
	
    static constraints = {
		nome(blank:false, nullable:false)
		nascimento(validator: {return (it < new Date())})
		email(blank:false, nullable:false, email:true)
		endereco()
		cidade()
		estado(inList:['AC', 'AL', 'AP', 'AM', 'BA', 'CE', 'DF', 'ES', 
		'GO', 'MA', 'MT', 'MS', 'MG', 'PA', 'PB', 'PR', 'PE', 'PI', 'RJ', 
		'RN', 'RO', 'RR', 'RS', 'SC', 'SE', 'SP', 'TO'],blank:false) 
		cep(matches:"[0-9]*", minSize:8, maxSize:8)
		telefone(matches:"[0-9]*", minSize:8, maxSize:8)
		celular(matches:"[0-9]*", minSize:8, maxSize:8)	
		modulo(nullable:false)
    }
    
	static belongsTo = [Modulo]
	
	def beforeInsert = {
		email = email.toLowerCase()
    }

    def beforeUpdate = {
		email = email.toLowerCase()
    } 
	
	String toString(){
		return "${nome}"
	}
}
